# 什么是元组
# 元组 Tuple 是与列表类似, 语法上用 () 来定义一个元组
# l = [1, 2, 3]
# t = (1, 2, 3)
# print(type(l))
# print(type(t))

# 元组的常见操作, 元组的数据不能修改
# l = [1, 2, 3]
# t = (1, 2, 3)
# l[1] = 4
# t[1] = 4    # 修改元组中的数据会报错
# 对元组内的数据的操作只支持查询类操作, 如: index, count
# t = (1, 2, 3, 4, 4, 5)
# print(t.index(3))
# print(t.count(4))

'''
面试题
python中列表和元组的区别?[2]
- 列表是动态的, 列表中的数据支持各种增删改查的操作, 元组是静态的, 
元祖中的数据只支持查询类操作, 可以理解为元组就是一个只读的列表
- 从定义的角度说, 列表需要中括号, 元组用小括号来定义
- 从设计的角度说, 列表用于储存一系列动态变化的数据, 如: 坐标, 日期等,
元组用于储存不变的数据, 比如星期几
- 从性能的角度说, 元组的性能优于列表 (这和内存分配机制有关)

如何通过切片获取一个数据中倒数的3个元素?[1]
- 首先很多数据类型都支持切片的操作, 比如字符串, 列表, 元组
- 切片的语法是用起始位, 结束位 和 步长来控制
- 那么如果想获取倒数的三个元素, 只需设置起始位为负3即可(形式如: 变量名[-3:])
'''
a = "123456"
print(a[-3:])